package com.zone.service.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zone.common.core.annotation.Excel;
import com.zone.common.core.web.domain.BaseEntity;

/**
 * 枪支管理对象 zone_gun
 * 
 * @author ningbo
 * @date 2025-11-14
 */
public class Gun extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 配发日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "配发日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyDate;

    /** 枪型 */
    @Excel(name = "枪型")
    private String gunCategory;

    /** 枪号/弹盒号 */
    @Excel(name = "枪号/弹盒号")
    private String gunCode;

    /** 内部编号 */
    @Excel(name = "内部编号")
    private String internalNum;

    /** 持枪证号 */
    @Excel(name = "持枪证号")
    private Long gunLicenceId;

    /** 管理状态 */
    @Excel(name = "管理状态")
    private String gunStatus;

    /** 出勤次数 */
    @Excel(name = "出勤次数")
    private String userCount;

    /** 擦拭日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "擦拭日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cleanDate;

    /** 分解日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "分解日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkDate;

    /** 操作员 */
    @Excel(name = "操作员")
    private String operatorName;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createUser;

    /** 部门 */
    private Long departmentId;

    /** 擦拭标志位：
0：未擦拭
1：已擦拭 */
    private String isClean;

    /** 分解标志位  0：未分解1：已分解 */
    private String isCheck;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updateUser;

    /** 痕迹建档 */
    @Excel(name = "痕迹建档")
    private Integer traceArchived;

    /** 建档日期 */
    private Date traceArchivedDate;

    /** 建档号 */
    private String traceArchivedNo;

    /** 过期日期/使用期限截止日期 */
    private Date expireDate;

    /** $column.columnComment */
    private Integer deleted;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setBuyDate(Date buyDate) 
    {
        this.buyDate = buyDate;
    }

    public Date getBuyDate() 
    {
        return buyDate;
    }

    public void setGunCategory(String gunCategory) 
    {
        this.gunCategory = gunCategory;
    }

    public String getGunCategory() 
    {
        return gunCategory;
    }

    public void setGunCode(String gunCode) 
    {
        this.gunCode = gunCode;
    }

    public String getGunCode() 
    {
        return gunCode;
    }

    public void setInternalNum(String internalNum) 
    {
        this.internalNum = internalNum;
    }

    public String getInternalNum() 
    {
        return internalNum;
    }

    public void setGunLicenceId(Long gunLicenceId) 
    {
        this.gunLicenceId = gunLicenceId;
    }

    public Long getGunLicenceId() 
    {
        return gunLicenceId;
    }

    public void setGunStatus(String gunStatus) 
    {
        this.gunStatus = gunStatus;
    }

    public String getGunStatus() 
    {
        return gunStatus;
    }

    public void setUserCount(String userCount) 
    {
        this.userCount = userCount;
    }

    public String getUserCount() 
    {
        return userCount;
    }

    public void setCleanDate(Date cleanDate) 
    {
        this.cleanDate = cleanDate;
    }

    public Date getCleanDate() 
    {
        return cleanDate;
    }

    public void setCheckDate(Date checkDate) 
    {
        this.checkDate = checkDate;
    }

    public Date getCheckDate() 
    {
        return checkDate;
    }

    public void setOperatorName(String operatorName) 
    {
        this.operatorName = operatorName;
    }

    public String getOperatorName() 
    {
        return operatorName;
    }

    public void setCreateUser(String createUser) 
    {
        this.createUser = createUser;
    }

    public String getCreateUser() 
    {
        return createUser;
    }

    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }

    public void setIsClean(String isClean) 
    {
        this.isClean = isClean;
    }

    public String getIsClean() 
    {
        return isClean;
    }

    public void setIsCheck(String isCheck) 
    {
        this.isCheck = isCheck;
    }

    public String getIsCheck() 
    {
        return isCheck;
    }

    public void setUpdateUser(String updateUser) 
    {
        this.updateUser = updateUser;
    }

    public String getUpdateUser() 
    {
        return updateUser;
    }

    public void setTraceArchived(Integer traceArchived) 
    {
        this.traceArchived = traceArchived;
    }

    public Integer getTraceArchived() 
    {
        return traceArchived;
    }

    public void setTraceArchivedDate(Date traceArchivedDate) 
    {
        this.traceArchivedDate = traceArchivedDate;
    }

    public Date getTraceArchivedDate() 
    {
        return traceArchivedDate;
    }

    public void setTraceArchivedNo(String traceArchivedNo) 
    {
        this.traceArchivedNo = traceArchivedNo;
    }

    public String getTraceArchivedNo() 
    {
        return traceArchivedNo;
    }

    public void setExpireDate(Date expireDate) 
    {
        this.expireDate = expireDate;
    }

    public Date getExpireDate() 
    {
        return expireDate;
    }

    public void setDeleted(Integer deleted) 
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("buyDate", getBuyDate())
            .append("gunCategory", getGunCategory())
            .append("gunCode", getGunCode())
            .append("internalNum", getInternalNum())
            .append("gunLicenceId", getGunLicenceId())
            .append("gunStatus", getGunStatus())
            .append("updateTime", getUpdateTime())
            .append("userCount", getUserCount())
            .append("cleanDate", getCleanDate())
            .append("checkDate", getCheckDate())
            .append("operatorName", getOperatorName())
            .append("createUser", getCreateUser())
            .append("remark", getRemark())
            .append("departmentId", getDepartmentId())
            .append("isClean", getIsClean())
            .append("isCheck", getIsCheck())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("traceArchived", getTraceArchived())
            .append("traceArchivedDate", getTraceArchivedDate())
            .append("traceArchivedNo", getTraceArchivedNo())
            .append("expireDate", getExpireDate())
            .append("deleted", getDeleted())
            .toString();
    }
}
